﻿using System;


namespace KPIS.GERP.GAMS.MODEL
{
    [Serializable]
    public class M_ACM_GENERAL_Ledger 
    {
        //acm_transection
        private Int32 TRAN_SEQ;
        private string FISCAL_PERIOD;//fiscal_period;
        private Nullable<Int32> TRAN_GRP_SEQ;
        private string TRAN_CODE;
        private Nullable<DateTime> TRAN_DATE;
        private Nullable<Int32> WORK_AREA_SEQ;
        private Nullable<Int32> BGM_SOURCE_SEQ;
        private string TRAN_NAME;
        private string REMARK;
        private Nullable<Int32> APPROVED_BY;
        private DateTime APPROVED_WHEN;
        private string TRAN_TYPE;
        private string REF_NO;
        private Nullable<int> BGM_YEAR;

        //acm_transection_dtls
        private Nullable<Int32> TRAN_DTLS_SEQ;
        private Nullable<Int32> ACCOUNT_SEQ;
        private string DR_OR_CR;
        private Nullable<double> AMOUNT;
        private string RECORD_STATUS;
        private Int32 CREATED_BY;
        private DateTime CREATED_WHEN;
        private Nullable<Int32> UPDATED_BY;
        private DateTime UPDATED_WHEN;
       
        //acm_transection_group
        private string TRAN_GRP_CODE;
        private string REF_TYPE;

        //fim_mas_record_statuses
        private string RECORD_STATUS_CODE;//record_status_code;
        private string RECORD_STATUS_NAME;//record_status_name;

        //for cmbSourceMoney
        private string BGM_SOURCE_NAME;

        //Add
        private string ACCOUNT_CODE;
        private string ACCOUNT_NAME;
        private Nullable<double> DEBIT_AMOUNT;
        private Nullable<double> CREDIT_AMOUNT;
        private Nullable<Boolean> APPROVE_STATUS;

        public M_ACM_GENERAL_Ledger(Int32 TRAN_SEQ, string FISCAL_PERIOD, Nullable<Int32> TRAN_GRP_SEQ, string TRAN_CODE
               , Nullable<DateTime> TRAN_DATE, Nullable<Int32> WORK_AREA_SEQ, Nullable<Int32> BGM_SOURCE_SEQ, string BGM_SOURCE_NAME, string TRAN_NAME
               , string REMARK, Nullable<Int32> APPROVED_BY, DateTime APPROVED_WHEN, string TRAN_TYPE, string REF_NO, Nullable<int> BGM_YEAR, Nullable<Int32> TRAN_DTLS_SEQ
               , Nullable<Int32> ACCOUNT_SEQ, string DR_OR_CR, Nullable<double> AMOUNT, string RECORD_STATUS, Int32 CREATED_BY
               , DateTime CREATED_WHEN, Nullable<Int32> UPDATED_BY, DateTime UPDATED_WHEN, string TRAN_GRP_CODE, string REF_TYPE
               , string ACCOUNT_NAME, Nullable<double> DEBIT_AMOUNT, Nullable<double> CREDIT_AMOUNT, Nullable<Boolean> APPROVE_STATUS
               , string RECORD_STATUS_CODE, string RECORD_STATUS_NAME, string ACCOUNT_CODE)
        {
            this.TRAN_SEQ = TRAN_SEQ;
            this.FISCAL_PERIOD = FISCAL_PERIOD;
            this.TRAN_GRP_SEQ = TRAN_GRP_SEQ;
            this.TRAN_CODE = TRAN_CODE;
            this.TRAN_DATE = TRAN_DATE;
            this.WORK_AREA_SEQ = WORK_AREA_SEQ;
            this.BGM_SOURCE_SEQ = BGM_SOURCE_SEQ;
            this.BGM_SOURCE_NAME = BGM_SOURCE_NAME;
            this.TRAN_NAME = TRAN_NAME;
            this.REMARK = REMARK;
            this.APPROVED_BY = APPROVED_BY;
            this.APPROVED_WHEN = APPROVED_WHEN;
            this.TRAN_TYPE = TRAN_TYPE;
            this.REF_NO = REF_NO;
            this.TRAN_DTLS_SEQ = TRAN_DTLS_SEQ;
            this.ACCOUNT_SEQ = ACCOUNT_SEQ;
            this.DR_OR_CR = DR_OR_CR;
            this.AMOUNT = AMOUNT;
            this.RECORD_STATUS = RECORD_STATUS;
            this.CREATED_BY = CREATED_BY;
            this.CREATED_WHEN = CREATED_WHEN;
            this.UPDATED_BY = UPDATED_BY;
            this.UPDATED_WHEN = UPDATED_WHEN;
            this.TRAN_GRP_CODE = TRAN_GRP_CODE;
            this.REF_TYPE = REF_TYPE;
            this.ACCOUNT_NAME = ACCOUNT_NAME;
            this.DEBIT_AMOUNT = DEBIT_AMOUNT;
            this.CREDIT_AMOUNT = CREDIT_AMOUNT;
            this.APPROVE_STATUS = APPROVE_STATUS;
            this.RECORD_STATUS_CODE = RECORD_STATUS_CODE;
            this.RECORD_STATUS_NAME = RECORD_STATUS_NAME;
            this.BGM_YEAR = BGM_YEAR;
            this.ACCOUNT_CODE = ACCOUNT_CODE;
        }
        public M_ACM_GENERAL_Ledger()
        {
        }


        public Int32 tran_seq
        {
            get { return TRAN_SEQ; }
            set { TRAN_SEQ = value; }
        }
        public string fiscal_period
        {
            get { return FISCAL_PERIOD; }
            set { FISCAL_PERIOD = value; }
        }
        public Nullable<Int32> tran_grp_seq
        {
            get { return TRAN_GRP_SEQ; }
            set { TRAN_GRP_SEQ = value; }
        }
        public string tran_code
        {
            get { return TRAN_CODE; }
            set { TRAN_CODE = value; }
        }
        public Nullable<DateTime> tran_date
        {
            get { return TRAN_DATE; }
            set { TRAN_DATE = value; }
        }
        public Nullable<Int32> work_area_seq
        {
            get { return WORK_AREA_SEQ; }
            set { WORK_AREA_SEQ = value; }
        }
        public Nullable<Int32> bgm_source_seq
        {
            get { return BGM_SOURCE_SEQ; }
            set { BGM_SOURCE_SEQ = value; }
        }
        public string tran_name
        {
            get { return TRAN_NAME; }
            set { TRAN_NAME = value; }
        }
        public string remark
        {
            get { return REMARK; }
            set { REMARK = value; }
        }
        public Nullable<Int32> approved_by
        {
            get { return APPROVED_BY; }
            set { APPROVED_BY = value; }
        }
        public DateTime approved_when
        {
            get { return APPROVED_WHEN; }
            set { APPROVED_WHEN = value; }
        }
        public string tran_type
        {
            get { return TRAN_TYPE; }
            set { TRAN_TYPE = value; }
        }
        public Nullable<Int32> tran_dtls_seq
        {
            get { return TRAN_DTLS_SEQ; }
            set { TRAN_DTLS_SEQ = value; }
        }
        public string ref_no
        {
            get { return REF_NO; }
            set { REF_NO = value; }
        }
        public Nullable<Int32> account_seq
        {
            get { return ACCOUNT_SEQ; }
            set { ACCOUNT_SEQ = value; }
        }
        public string dr_or_cr
        {
            get { return DR_OR_CR; }
            set { DR_OR_CR = value; }
        }        
        public Nullable<double> amount
        {
            get { return AMOUNT; }
            set { AMOUNT = value; }
        }
        public string record_status
        {
            get { return RECORD_STATUS; }
            set { RECORD_STATUS = value; }
        }
        public Int32 created_by
        {
            get { return CREATED_BY; }
            set { CREATED_BY = value; }
        }
        public DateTime created_when
        {
            get { return CREATED_WHEN; }
            set { CREATED_WHEN = value; }
        }
        public Nullable<Int32> updated_by
        {
            get { return UPDATED_BY; }
            set { UPDATED_BY = value; }
        }
        public string tran_grp_code
        {
            get { return TRAN_GRP_CODE; }
            set { TRAN_GRP_CODE = value; }
        }
        public DateTime updated_when
        {
            get { return UPDATED_WHEN; }
            set { UPDATED_WHEN = value; }
        }
        public string ref_type
        {
            get { return REF_TYPE; }
            set { REF_TYPE = value; }
        }
        public string bgm_source_name
        {
            get { return BGM_SOURCE_NAME; }
            set { BGM_SOURCE_NAME = value; }
        }
        public string account_name
        {
            get { return ACCOUNT_NAME; }
            set { ACCOUNT_NAME = value; }
        }
        public Nullable<double> debit_amount
        {
            get { return DEBIT_AMOUNT; }
            set { DEBIT_AMOUNT = value; }
        }
        public Nullable<double> credit_amount
        {
            get { return CREDIT_AMOUNT; }
            set { CREDIT_AMOUNT = value; }
        }
        public Nullable<Boolean> approve_status
        {
            get { return APPROVE_STATUS; }
            set { APPROVE_STATUS = value; }
        }
        //fim_mas_record_statuses Show status of account transfer
        public string record_status_code
        {
            get { return RECORD_STATUS_CODE; }
            set { RECORD_STATUS_CODE = value; }
        }
        public string record_status_name
        {
            get { return RECORD_STATUS_NAME; }
            set { RECORD_STATUS_NAME = value; }
        }
        public string account_code
        {
            get { return ACCOUNT_CODE; }
            set { ACCOUNT_CODE = value; }
        }

        public Nullable<int> bgm_year
        {
            get { return BGM_YEAR; }
            set { BGM_YEAR = value; }
        }
    }
}
